#ifndef BOARD_H
#define BOARD_H

#include <list>
#include <ncurses.h>
#include "piece.h"
#include "myMatrix.h"
#include "posit.h"

class Board
{
	public:
		Board(void);
		void setPiece(const Posit, const Piece);
		void setUserColor(const int);
		void setNewGame(const bool);
		bool getNewGame(void) const;
		void initializeBoard(void);
		bool movePiece(const int, const Posit, const Posit);
		void swapPieces(const Posit, const Posit);
		bool isDone(const int);
		void printAll(void);
		void printMenu(void);
		void printBoard(void);
		void printPiece(const int, const int, const int);
		void printBase(void);
		void printRules(void);
		void printCapt(void);
		void battle(const int, const Posit, const Posit);
		Piece getPiece(const int, const int);
		int checkMenu(const int, const int);
		list<Piece> userLost, compLost;
	private:
		int userColor;
		bool newGame;
		Matrix<Piece> pieces;
};

#endif

